package com.nuedu.corejava.ch10;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class SetClass {

	public static void main(String[] args) {
		// Set集合
		// Set集合是collection集合的子接口，Set集合用于保存无序且唯一的数据
		Computer computer = new Computer("HP", 5000);
		Computer computer2 = new Computer("HW", 5500);
		// 集合的学习：
		// 学习有哪些集合，每个集合类实现了那些数据结构
		// 学习对集合的元素进行增删改查

		Set computerset = new HashSet();
		System.out.println("size" + computerset.size());
		computerset.add(computer);
		computerset.add(computer2);
		//注意：Set集合的唯一性一般指，同一个数据（对象）不能被保存两次，而不是指对象的内部数据相同
		//如果需要根据集合元素的数据进行判断，则需要重写equals方法；
		System.out.println("size" + computerset.size());
		// 集合遍历
		// 方法1- 推荐使用迭代接口
		Iterator iterator = computerset.iterator();
		while (iterator.hasNext()) {// hasNext判断集合中是否有下一条记录
			Object object = iterator.next();// 取出数据，并把指针下移
			Computer comp = (Computer) object;
			System.out.println(comp);

		}
		// 删除
		computerset.remove(computer2);
		System.out.println("size" + computerset.size());
		iterator = computerset.iterator();
		while (iterator.hasNext()) {// hasNext判断集合中是否有下一条记录
			Object object = iterator.next();// 取出数据，并把指针下移
			Computer comp = (Computer) object;
		
		}
		//查询数据是否在集合中
		if (computerset.contains(computer2)) {
			System.out.println("数据在集合中");
			
		}else {
			System.out.println("数据不在集合中");
		}
		iterator = computerset.iterator();
		while (iterator.hasNext()) {// hasNext判断集合中是否有下一条记录
			Object object = iterator.next();// 取出数据，并把指针下移
			Computer comp = (Computer) object;
			System.out.println(comp);

		}

	}
}